1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to data processing systems having multiple modes of operation and the management of changes between those modes.
2. Description of the Prior Art
It is known to provide data processing systems with multiple modes of operation. These modes may, for example, correspond to differing levels of privilege with these different privilege levels having different access rights to the resources of a system. The privilege levels may be hardware privilege levels such that when in a mode with a high privilege the system is able to access regions of the memory address space which are not accessible when operating in a mode with a lower privilege. The modes may also correspond to different exception levels within a system of exception level handling. Examples of such data processing systems having multiple modes of operation are the processors designed by ARM Limited of Cambridge, England.
Within such data processing systems having multiple modes of operation, it arises that some changes of mode are illegal (e.g. should not be permitted). As an example, as a security measure, it should not be possible to execute a software instruction that will change the mode to a higher level of privilege thereby gaining more access to the resources of the system. Such changes are better made by using an exception mechanism whereby exception handling code can deal with the entry into the higher level of privilege and preserve the security of the system. It is known to provide data processing systems with hardware mechanisms which prevent such illegal mode changes. However, the behaviour of the system when such a mode change has been prevented can vary from implementation-to-implementation as well as vary in dependence upon the type of illegal change which has been prevented.